$(function () {
    $('.subToCart').click(function () {
        var $button = $(this);

        // 往上找partent() 往下找find 同级的上一个prev 同级的下一个next

        // 找$button标签的父标签的父标签
        var cartid = $button.parent().parent().attr('cartid');

        $.getJSON(
            '/axfcart/subToCart/',
            {'cartid': cartid},
            function (data) {
                if (data['status'] == 200) {
                    $button.next().html(data['c_good_num']);
                }else {
                    $button.parent().parent().remove();
                }
                $('#t_price').html(data['total_price']);
            }
        );

    });

    // 单选
    $('.confirm').click(function () {
        var $div = $(this);
        var cartid = $div.parent().attr('cartid');

        // 见test中的笔记
        $.ajax({
            url: '/axfcart/changeStatus/',
            data: {'cartid': cartid},
            type: 'GET',
            dataType: 'json',
            success: function (data) {
                if (data['status'] == 200) {
                    if (data['c_is_select']) {
                        $div.find('span').find('span').html('√');
                    }else {
                        $div.find('span').find('span').html('');
                    }
                    if (data['is_all_select']) {
                        $('.all_select').find('span').find('span').html('√');
                    }else {
                        $('.all_select').find('span').find('span').html(' ');
                    }
                    $('#t_price').html(data['total_price']);
                }
            }
        });
    });

    // 全选
    $('.all_select').click(function () {

        select_list = [];
        unselect_list = [];

        var $confirm = $('.confirm');

        // each 是遍历的意思， 判断哪些未被选中
        // $(this) 表示当前变量的对象
        // html() 可以判断里面是否有内容
        $confirm.each(function () {
            var $div = $(this);
            var cartid = $div.parent().attr('cartid');
            if ($div.find('span').find('span').html()) {
                select_list.push(cartid);
            }else {
                unselect_list.push(cartid);
            }
        });

        // 有未选中的数据
        if (unselect_list.length > 0) {
            // ajax不能传递列表，所有要将列表其拼接成字符串传递过来，再切割成列表
            // unselect_list.join('#') 将列表中的数据用#进行拼接
            $.getJSON(
                '/axfcart/allSelect',
                {'cartlist': unselect_list.join('#')},
                function (data) {
                    if (data['status'] == 200) {
                        $confirm.find('span').find('span').html('√');
                        $('.all_select').find('span').find('span').html('√');
                        $('#t_price').html(data['total_price']);
                    }
                }
            );
        }else {
            // 没有未被选中的数据
            $.getJSON(
                '/axfcart/allSelect',
                {'cartlist': select_list.join('#')},
                function (data) {
                    if (data['status'] == 200) {
                        $confirm.find('span').find('span').html('');
                        $('.all_select').find('span').find('span').html('');
                        $('#t_price').html(data['total_price']);
                    }
                }
            );
        }

    });

    // +号
    $('.plusToCart').click(function () {
        var $button = $(this);

        // 往上找partent() 往下找find 同级的上一个prev 同级的下一个next

        // 找$button标签的父标签的父标签
        var cartid = $button.parent().parent().attr('cartid');

        $.getJSON(
            '/axfcart/plusToCart/',
            {'cartid': cartid},
            function (data) {
                if (data['status'] == 200) {
                    $button.prev().html(data['c_good_num']);
                }
                $('#t_price').html(data['total_price']);
            }
        );

    });

    // 下单
    $('#make_order').click(function () {

        // 当购物车中没有选择商品的时候，不能跳到支付页面
        // each 遍历
        select_list = [];
        unselect_list = [];

        $('.confirm').each(function () {
            var $div = $(this);
            var cartid = $div.parent().attr('cartid');
            if ($div.find('span').find('span').html()) {
                select_list.push(cartid);
            }
            else {
                unselect_list.push(cartid);
            }
        });

        if (select_list.length == 0) {
            return;   // 下面的语句就不能执行了
        }

        $.get(
            '/axforder/makeOrder/',
            // {'cartid': cartid},  // 没有要传递的数据则可以不写
            function (data) {
                if (data['status'] == 200) {
                    window.location.href = '/axforder/orderDetail/?order_id='+data['order_id'];
                }
            }
        );
    });


});